package cn.changein.framework.modular.gen.generator.base;

import cn.changein.framework.modular.gen.generator.base.model.ContextParam;

/**
 * 代码生成器
 * 

 * @date: 2020-02-17
 * @copyright: 广州澄境科技有限公司
 */
public abstract class Generator {

    protected ContextParam contextParam;

    /**
     * 初始化配置
     * @param paramContext
     */
    public void initContext(ContextParam paramContext) {
        this.contextParam = paramContext;
    }

    /**
     * 代码生成之前，自由发挥
     */
    protected void beforeGeneration() {

    }

    /**
     * 执行代码生成
     */
    public abstract void doGeneration();

    /**
     * 代码生成之后，自由发挥
     */
    protected void afterGeneration() {

    }

}

